diff options
author | red031000 <rubenru09@aol.com> | 2021-08-07 23:39:10 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2021-08-16 14:26:00 +0100 |
commit | 1de157cf027c604a35537ad457bf476eb3068c7c (patch) | |
tree | 57be15dd37dd876626d6d575d65007bcf21afba8 /arm9/modules/04/asm/arm_04.s | |
parent | 168950d7e03129c23ddce331593823d1d48411cf (diff) |
start to split mod04
Diffstat (limited to 'arm9/modules/04/asm/arm_04.s')
-rw-r--r-- | arm9/modules/04/asm/arm_04.s | 1727 |
1 files changed, 0 insertions, 1727 deletions
diff --git a/arm9/modules/04/asm/arm_04.s b/arm9/modules/04/asm/arm_04.s index 259f9f52..bbdafb6a 100644 --- a/arm9/modules/04/asm/arm_04.s +++ b/arm9/modules/04/asm/arm_04.s @@ -3,1510 +3,6 @@ .section .text .balign 4, 0 - arm_func_start MOD04_021D8D18 -MOD04_021D8D18: ; 0x021D8D18 - stmdb sp!, {r4, lr} - ldr r2, _021D8D58 ; =UNK04_02210468 - ldr r1, _021D8D5C ; =0x000013D8 - ldr r2, [r2] - mov r4, r0 - add r0, r2, r1 - bl OS_LockMutex - ldr r2, _021D8D58 ; =UNK04_02210468 - ldr r1, _021D8D5C ; =0x000013D8 - ldr r0, [r2] - add r0, r0, #0x1000 - str r4, [r0, #4] - ldr r0, [r2] - add r0, r0, r1 - bl OS_UnlockMutex - ldmia sp!, {r4, pc} - .align 2, 0 -_021D8D58: .word UNK04_02210468 -_021D8D5C: .word 0x000013D8 - arm_func_end MOD04_021D8D18 - - arm_func_start MOD04_021D8D60 -MOD04_021D8D60: ; 0x021D8D60 - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x98 - ldr r4, _021D8EE0 ; =UNK04_0221046C - mov r3, #0 - ldr r5, [r4, #4] - ldr ip, [r4] - cmp r5, r3 - mov r5, r0 - mov r6, r1 - mov r4, r2 - cmpeq ip, r3 - bne _021D8DC0 - ldr r0, _021D8EE4 ; =UNK04_0220BEF8 - bl strlen - mov r3, r0 - ldr r1, _021D8EE8 ; =UNK04_0220BF04 - ldr r2, _021D8EE4 ; =UNK04_0220BEF8 - mov r0, r5 - bl MOD04_021DAB68 - cmp r0, #0 - beq _021D8E18 - add sp, sp, #0x98 - mov r0, #8 - ldmia sp!, {r4, r5, r6, pc} -_021D8DC0: - ldr r0, _021D8EEC ; =UNK04_0220BF0C - bl strlen - mov r3, r0 - ldr r1, _021D8EE8 ; =UNK04_0220BF04 - ldr r2, _021D8EEC ; =UNK04_0220BF0C - mov r0, r5 - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x98 - movne r0, #8 - ldmneia sp!, {r4, r5, r6, pc} - mov r0, r6 - bl strlen - mov r3, r0 - ldr r1, _021D8EF0 ; =UNK04_0220BF14 - mov r0, r5 - mov r2, r6 - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x98 - movne r0, #8 - ldmneia sp!, {r4, r5, r6, pc} -_021D8E18: - ldr r1, _021D8EE0 ; =UNK04_0221046C - add r0, sp, #0 - bl MOD04_021D9F78 - cmp r0, #0 - addeq sp, sp, #0x98 - moveq r0, #5 - ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _021D8EF4 ; =UNK04_0221048C - add r1, sp, #0 - ldr r2, [r0] - mov r0, r5 - bl MOD04_021D9C2C - cmp r0, #0 - addeq sp, sp, #0x98 - moveq r0, #8 - ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _021D8EF8 ; =UNK04_02210460 - ldr r0, [r0] - cmp r0, #1 - bne _021D8E94 - ldr r0, _021D8EFC ; =UNK04_0220BF1C - bl strlen - mov r3, r0 - ldr r1, _021D8F00 ; =UNK04_0220BF20 - ldr r2, _021D8EFC ; =UNK04_0220BF1C - mov r0, r5 - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x98 - movne r0, #8 - ldmneia sp!, {r4, r5, r6, pc} -_021D8E94: - mov r0, r4 - bl wcslen - cmp r0, #0 - beq _021D8ED4 - mov r0, r4 - bl wcslen - mov r3, r0 - ldr r1, _021D8F04 ; =UNK04_0220BF28 - mov r0, r5 - mov r2, r4 - mov r3, r3, lsl #1 - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x98 - movne r0, #8 - ldmneia sp!, {r4, r5, r6, pc} -_021D8ED4: - mov r0, #0 - add sp, sp, #0x98 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 -_021D8EE0: .word UNK04_0221046C -_021D8EE4: .word UNK04_0220BEF8 -_021D8EE8: .word UNK04_0220BF04 -_021D8EEC: .word UNK04_0220BF0C -_021D8EF0: .word UNK04_0220BF14 -_021D8EF4: .word UNK04_0221048C -_021D8EF8: .word UNK04_02210460 -_021D8EFC: .word UNK04_0220BF1C -_021D8F00: .word UNK04_0220BF20 -_021D8F04: .word UNK04_0220BF28 - arm_func_end MOD04_021D8D60 - - arm_func_start MOD04_021D8F08 -MOD04_021D8F08: ; 0x021D8F08 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #4 - ldr r0, _021D91BC ; =UNK04_02210468 - mov r1, #0 - ldr r0, [r0] - str r1, [sp] - add r0, r0, #0x1000 - ldr r0, [r0, #0x314] - ldr r1, _021D91C0 ; =UNK04_0220BF34 - bl MOD04_021DA388 - str r0, [sp] - cmp r0, #0 - beq _021D8F40 - bl MOD04_021DCA84 -_021D8F40: - ldr r0, _021D91BC ; =UNK04_02210468 - mov r2, #0 - ldr r1, [r0] - ldr r0, _021D91C4 ; =errno - str r2, [sp] - str r2, [r0] - add r0, r1, #0x1000 - ldr r0, [r0, #0x314] - ldr r1, _021D91C8 ; =UNK04_0220BF3C - bl MOD04_021DA388 - bl atol - ldr r1, _021D91C4 ; =errno - ldr r1, [r1] - cmp r1, #0x22 - bne _021D8F9C - ldr r0, _021D91BC ; =UNK04_02210468 - ldr r2, _021D91CC ; =0x00004E85 - ldr r1, [r0] - add sp, sp, #4 - add r1, r1, #0x1000 - str r2, [r1, #8] - mov r0, #0xc - ldmia sp!, {r4, r5, pc} -_021D8F9C: - cmp r0, #0xc8 - beq _021D8FC8 - ldr r2, _021D91BC ; =UNK04_02210468 - ldr r1, _021D91D0 ; =0x000059D8 - ldr r2, [r2] - add r1, r0, r1 - add r0, r2, #0x1000 - str r1, [r0, #8] - add sp, sp, #4 - mov r0, #0x12 - ldmia sp!, {r4, r5, pc} -_021D8FC8: - ldr r0, _021D91BC ; =UNK04_02210468 - ldr r2, _021D91D4 ; =0x0000100C - ldr r3, [r0] - ldr r1, _021D91D8 ; =UNK04_0220BF48 - add r0, r3, #0x1000 - ldr r0, [r0, #0x314] - add r2, r3, r2 - mov r3, #4 - bl MOD04_021DA334 - cmp r0, #0 - bgt _021D9014 - ldr r0, _021D91BC ; =UNK04_02210468 - ldr r2, _021D91CC ; =0x00004E85 - ldr r1, [r0] - add sp, sp, #4 - add r1, r1, #0x1000 - str r2, [r1, #8] - mov r0, #0xe - ldmia sp!, {r4, r5, pc} -_021D9014: - ldr r1, _021D91BC ; =UNK04_02210468 - ldr r0, _021D91D4 ; =0x0000100C - ldr r2, [r1] - add r1, sp, #0 - add r0, r2, r0 - mov r2, #0xa - bl strtol - ldr r2, _021D91BC ; =UNK04_02210468 - ldr r1, _021D91D4 ; =0x0000100C - ldr r5, [r2] - mov r4, r0 - add r0, r5, r1 - bl strlen - ldr r1, _021D91D4 ; =0x0000100C - ldr r2, [sp] - add r1, r5, r1 - add r0, r1, r0 - cmp r2, r0 - ldrne r1, _021D91CC ; =0x00004E85 - addne r0, r5, #0x1000 - strne r1, [r0, #8] - addne sp, sp, #4 - movne r0, #0xc - ldmneia sp!, {r4, r5, pc} - ldr r0, _021D91DC ; =0x00004E20 - add r1, r5, #0x1000 - add r0, r4, r0 - str r0, [r1, #8] - cmp r4, #0x64 - bge _021D91B0 - ldr ip, _021D91BC ; =UNK04_02210468 - mov r0, #0 - ldr r1, [ip] - ldr r5, _021D91E0 ; =0x00001052 - add r1, r1, #0x1000 - strb r0, [r1, #0x52] - ldr r2, [ip] - ldr r1, _021D91E4 ; =UNK04_0220BF54 - add r2, r2, #0x1000 - strb r0, [r2, #0x1f] - ldr r2, [ip] - ldr r3, _021D91E8 ; =0x0000012D - add r2, r2, #0x1000 - strb r0, [r2, #0x17f] - ldr r2, [ip] - add r2, r2, #0x1000 - strb r0, [r2, #0x10] - ldr r2, [ip] - add r2, r2, #0x1000 - strb r0, [r2, #0x188] - ldr r2, [ip] - add r0, r2, #0x1000 - ldr r0, [r0, #0x314] - add r2, r2, r5 - bl MOD04_021DA334 - ldr r0, _021D91BC ; =UNK04_02210468 - ldr r2, _021D91EC ; =0x0000101F - ldr r3, [r0] - ldr r1, _021D91F0 ; =UNK04_0220BF5C - add r0, r3, #0x1000 - add r2, r3, r2 - ldr r0, [r0, #0x314] - mov r3, #0x33 - bl MOD04_021DA334 - ldr r0, _021D91BC ; =UNK04_02210468 - ldr r2, _021D91F4 ; =0x0000117F - ldr r3, [r0] - ldr r1, _021D91F8 ; =UNK04_0220BF64 - add r0, r3, #0x1000 - add r2, r3, r2 - ldr r0, [r0, #0x314] - mov r3, #9 - bl MOD04_021DA334 - ldr r0, _021D91BC ; =UNK04_02210468 - ldr r2, _021D91FC ; =0x00001010 - ldr r3, [r0] - ldr r1, _021D9200 ; =UNK04_0220BF70 - add r0, r3, #0x1000 - add r2, r3, r2 - ldr r0, [r0, #0x314] - mov r3, #0xf - bl MOD04_021DA334 - ldr r0, _021D91BC ; =UNK04_02210468 - ldr r2, _021D9204 ; =0x00001188 - ldr r3, [r0] - ldr r1, _021D9208 ; =UNK04_0220BF7C - add r0, r3, #0x1000 - add r2, r3, r2 - ldr r0, [r0, #0x314] - mov r3, #0x41 - bl MOD04_021DA2F4 - ldr r0, _021D91BC ; =UNK04_02210468 - mov r1, #0 - ldr r0, [r0] - cmp r4, #0x28 - add r0, r0, #0x1000 - strb r1, [r0, #0x1b3] - ldrne r0, _021D920C ; =UNK04_02210464 - movne r1, #1 - strne r1, [r0] - ldreq r0, _021D920C ; =UNK04_02210464 - moveq r1, #2 - streq r1, [r0] -_021D91B0: - mov r0, #0 - add sp, sp, #4 - ldmia sp!, {r4, r5, pc} - .align 2, 0 -_021D91BC: .word UNK04_02210468 -_021D91C0: .word UNK04_0220BF34 -_021D91C4: .word errno -_021D91C8: .word UNK04_0220BF3C -_021D91CC: .word 0x00004E85 -_021D91D0: .word 0x000059D8 -_021D91D4: .word 0x0000100C -_021D91D8: .word UNK04_0220BF48 -_021D91DC: .word 0x00004E20 -_021D91E0: .word 0x00001052 -_021D91E4: .word UNK04_0220BF54 -_021D91E8: .word 0x0000012D -_021D91EC: .word 0x0000101F -_021D91F0: .word UNK04_0220BF5C -_021D91F4: .word 0x0000117F -_021D91F8: .word UNK04_0220BF64 -_021D91FC: .word 0x00001010 -_021D9200: .word UNK04_0220BF70 -_021D9204: .word 0x00001188 -_021D9208: .word UNK04_0220BF7C -_021D920C: .word UNK04_02210464 - arm_func_end MOD04_021D8F08 - - arm_func_start MOD04_021D9210 -MOD04_021D9210: ; 0x021D9210 - stmdb sp!, {r4, r5, lr} - sub sp, sp, #4 - ldr r0, _021D93F4 ; =UNK04_02210468 - mov r1, #0 - ldr r0, [r0] - add r2, r0, #0x1000 - ldr r0, [r2, #0x314] - ldr r5, [r2, #0x20c] - ldr r4, [r2, #0x210] - bl MOD04_021DA3DC - cmp r0, #1 - beq _021D9260 - ldr r0, _021D93F4 ; =UNK04_02210468 - ldr r2, _021D93F8 ; =0x00004E84 - ldr r1, [r0] - add sp, sp, #4 - add r1, r1, #0x1000 - str r2, [r1, #8] - mov r0, #0xe - ldmia sp!, {r4, r5, pc} -_021D9260: - bl MOD04_021D8F08 - cmp r0, #0 - addne sp, sp, #4 - movne r0, #0xe - ldmneia sp!, {r4, r5, pc} - ldr r0, _021D93F4 ; =UNK04_02210468 - ldr r1, _021D93F8 ; =0x00004E84 - ldr r0, [r0] - add r0, r0, #0x1000 - ldr r2, [r0, #8] - cmp r2, r1 - bge _021D9334 - ldr r0, _021D93FC ; =0x00004E22 - cmp r2, r0 - bne _021D9328 - ldr r0, _021D9400 ; =UNK04_0220BF88 - ldr r1, _021D9404 ; =0x0000071F - blx r5 - movs r5, r0 - bne _021D92D0 - ldr r0, _021D93F4 ; =UNK04_02210468 - ldr r2, _021D93F8 ; =0x00004E84 - ldr r1, [r0] - add sp, sp, #4 - add r1, r1, #0x1000 - str r2, [r1, #8] - mov r0, #2 - ldmia sp!, {r4, r5, pc} -_021D92D0: - add r1, r5, #0x1f - ldr r0, _021D9408 ; =UNK04_0221046C - bic r1, r1, #0x1f - bl FUN_02096710 - cmp r0, #1 - beq _021D9318 - ldr r0, _021D940C ; =UNK04_0220BF98 - mov r1, r5 - mov r2, #0 - blx r4 - ldr r0, _021D93F4 ; =UNK04_02210468 - ldr r2, _021D93F8 ; =0x00004E84 - ldr r1, [r0] - add sp, sp, #4 - add r1, r1, #0x1000 - str r2, [r1, #8] - mov r0, #0xf - ldmia sp!, {r4, r5, pc} -_021D9318: - ldr r0, _021D940C ; =UNK04_0220BF98 - mov r1, r5 - mov r2, #0 - blx r4 -_021D9328: - add sp, sp, #4 - mov r0, #0x15 - ldmia sp!, {r4, r5, pc} -_021D9334: - ldr r0, _021D9410 ; =0x00004E88 - cmp r2, r0 - beq _021D9350 - ldr r0, _021D9414 ; =0x00004E8C - cmp r2, r0 - beq _021D9378 - b _021D93E8 -_021D9350: - ldr r0, _021D9408 ; =UNK04_0221046C - bl FUN_02096570 - ldr r0, _021D93F4 ; =UNK04_02210468 - ldr r2, _021D9410 ; =0x00004E88 - ldr r1, [r0] - add sp, sp, #4 - add r1, r1, #0x1000 - str r2, [r1, #8] - mov r0, #0x10 - ldmia sp!, {r4, r5, pc} -_021D9378: - ldr r0, _021D9400 ; =UNK04_0220BF88 - mov r1, #0x700 - blx r5 - movs r5, r0 - bne _021D93AC - ldr r0, _021D93F4 ; =UNK04_02210468 - ldr r2, _021D9414 ; =0x00004E8C - ldr r1, [r0] - add sp, sp, #4 - add r1, r1, #0x1000 - str r2, [r1, #8] - mov r0, #0x11 - ldmia sp!, {r4, r5, pc} -_021D93AC: - add r0, r5, #0x1f - bic r0, r0, #0x1f - bl DWCi_AUTH_MakeWiFiID - ldr r0, _021D940C ; =UNK04_0220BF98 - mov r1, r5 - mov r2, #0 - blx r4 - ldr r0, _021D93F4 ; =UNK04_02210468 - ldr r2, _021D9414 ; =0x00004E8C - ldr r1, [r0] - add sp, sp, #4 - add r1, r1, #0x1000 - str r2, [r1, #8] - mov r0, #0x11 - ldmia sp!, {r4, r5, pc} -_021D93E8: - mov r0, #0x12 - add sp, sp, #4 - ldmia sp!, {r4, r5, pc} - .align 2, 0 -_021D93F4: .word UNK04_02210468 -_021D93F8: .word 0x00004E84 -_021D93FC: .word 0x00004E22 -_021D9400: .word UNK04_0220BF88 -_021D9404: .word 0x0000071F -_021D9408: .word UNK04_0221046C -_021D940C: .word UNK04_0220BF98 -_021D9410: .word 0x00004E88 -_021D9414: .word 0x00004E8C - arm_func_end MOD04_021D9210 - - arm_func_start MOD04_021D9418 -MOD04_021D9418: ; 0x021D9418 - stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} - sub sp, sp, #0x14 - mov sb, #0 - mov r0, #1 - ldr r7, _021D96D4 ; =0x00001388 - ldr fp, _021D96D8 ; =0x000082EA - ldr r5, _021D96DC ; =UNK04_02210468 - ldr r4, _021D96E0 ; =0x000013D8 - mov r6, sb - str sb, [sp, #8] - str sb, [sp, #0xc] - str r0, [sp, #4] -_021D9448: - ldr r0, [r5] - add r0, r0, #0x1000 - ldr r1, [r0, #0x314] - add r0, r1, #0x1000 - ldr r0, [r0, #0xba0] - cmp r0, #0 - beq _021D9470 - ldr r0, _021D96E4 ; =0x00001B34 - add r0, r1, r0 - bl OS_JoinThread -_021D9470: - ldr r0, [r5] - add r1, r0, #0x1000 - ldr r0, [r1, #0x314] - add r0, r0, #0x1000 - ldr r0, [r0, #0x20] - cmp r0, #8 - beq _021D9518 - ldr r0, _021D96E8 ; =0x00004E84 - str r0, [r1, #8] - ldr r0, [r5] - add r0, r0, #0x1000 - ldr r0, [r0, #0x314] - add r0, r0, #0x1000 - ldr r0, [r0, #0x20] - cmp r0, #7 - bne _021D94C0 - mov r0, #0x14 - bl MOD04_021D8D18 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} -_021D94C0: - cmp sb, #2 - ble _021D9508 - cmp r0, #2 - bne _021D94E0 - mov r0, #9 - bl MOD04_021D8D18 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} -_021D94E0: - cmp r0, #3 - bne _021D94F8 - mov r0, #0xb - bl MOD04_021D8D18 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} -_021D94F8: - mov r0, #0xd - bl MOD04_021D8D18 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} -_021D9508: - ldr r0, [sp, #4] - add sb, sb, #1 - str r0, [sp] - b _021D9598 -_021D9518: - bl MOD04_021D9210 - cmp r0, #0x10 - beq _021D9544 - cmp r0, #0x11 - beq _021D956C - cmp r0, #0x15 - bne _021D9578 - mov r0, #0x15 - bl MOD04_021D8D18 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} -_021D9544: - cmp sb, #2 - ble _021D955C - mov r0, #0x10 - bl MOD04_021D8D18 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} -_021D955C: - ldr r0, [sp, #8] - add sb, sb, #1 - str r0, [sp] - b _021D9598 -_021D956C: - bl MOD04_021D8D18 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} -_021D9578: - cmp sb, #2 - blt _021D958C - bl MOD04_021D8D18 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} -_021D958C: - ldr r0, [sp, #4] - add sb, sb, #1 - str r0, [sp] -_021D9598: - bl OS_GetTick - mov r8, r0 - mov sl, r1 - bl OS_GetTick - subs r2, r0, r8 - sbc r0, r1, sl - mov r1, r0, lsl #6 - ldr r3, [sp, #0xc] - orr r1, r1, r2, lsr #26 - mov r0, r2, lsl #6 - mov r2, fp - bl _ll_udiv - cmp r1, #0 - cmpeq r0, r7 - bhs _021D965C -_021D95D4: - ldr r0, [r5] - add r0, r0, r4 - bl OS_LockMutex - ldr r2, [r5] - add r1, r2, #0x1000 - ldr r0, [r1, #0x3f0] - cmp r0, #1 - bne _021D961C - ldr r2, _021D96E8 ; =0x00004E84 - ldr r0, _021D96E0 ; =0x000013D8 - str r2, [r1, #8] - ldr r1, [r5] - add r0, r1, r0 - bl OS_UnlockMutex - mov r0, #0x14 - bl MOD04_021D8D18 - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} -_021D961C: - add r0, r2, r4 - bl OS_UnlockMutex - mov r0, r7 - bl OS_Sleep - bl OS_GetTick - subs r2, r0, r8 - sbc r0, r1, sl - mov r1, r0, lsl #6 - orr r1, r1, r2, lsr #26 - mov r0, r2, lsl #6 - mov r2, fp - mov r3, r6 - bl _ll_udiv - cmp r1, #0 - cmpeq r0, r7 - blo _021D95D4 -_021D965C: - ldr r0, [r5] - add r0, r0, #0x1000 - ldr r0, [r0, #0x314] - bl MOD04_021DAE4C - ldr r0, [r5] - add r0, r0, r4 - bl OS_LockMutex - ldr r0, [sp] - bl MOD04_021D96EC - ldr r1, [r5] - add r1, r1, #0x1000 - str r0, [r1, #4] - ldr r2, [r5] - add r1, r2, #0x1000 - ldr r0, [r1, #4] - cmp r0, #0 - beq _021D96C0 - ldr r2, _021D96E8 ; =0x00004E84 - ldr r0, _021D96E0 ; =0x000013D8 - str r2, [r1, #8] - ldr r1, [r5] - add r0, r1, r0 - bl OS_UnlockMutex - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} -_021D96C0: - add r0, r2, r4 - bl OS_UnlockMutex - b _021D9448 - arm_func_end MOD04_021D9418 - - arm_func_start MOD04_021D96CC -MOD04_021D96CC: ; 0x021D96CC - add sp, sp, #0x14 - ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} - .align 2, 0 -_021D96D4: .word 0x00001388 -_021D96D8: .word 0x000082EA -_021D96DC: .word UNK04_02210468 -_021D96E0: .word 0x000013D8 -_021D96E4: .word 0x00001B34 -_021D96E8: .word 0x00004E84 - arm_func_end MOD04_021D96CC - - arm_func_start MOD04_021D96EC -MOD04_021D96EC: ; 0x021D96EC - stmdb sp!, {r4, lr} - ldr r1, _021D97E0 ; =UNK04_0220BEB4 - mov r4, r0 - ldr r0, [r1] - ldr r1, _021D97E4 ; =UNK04_0220BFA4 - bl strcmp - cmp r0, #0 - ldrne r0, _021D97E0 ; =UNK04_0220BEB4 - movne r1, #1 - strne r1, [r0, #0x14] - ldr r0, _021D97E8 ; =UNK04_02210468 - ldr r1, _021D97E0 ; =UNK04_0220BEB4 - ldr r0, [r0] - add r0, r0, #0x1000 - ldr r2, [r0, #0x20c] - str r2, [r1, #0xc] - ldr r2, [r0, #0x210] - str r2, [r1, #0x10] - ldr r0, [r0, #0x314] - bl MOD04_021DB608 - cmp r0, #0 - movne r0, #4 - ldmneia sp!, {r4, pc} - cmp r4, #1 - bne _021D9758 - ldr r0, _021D97EC ; =UNK04_0221046C - bl DWCi_BM_GetWiFiInfo -_021D9758: - ldr r0, _021D97E8 ; =UNK04_02210468 - ldr r2, _021D97F0 ; =0x000011CC - ldr r3, [r0] - add r0, r3, #0x1000 - ldr r0, [r0, #0x314] - add r1, r3, #0x1200 - add r2, r3, r2 - bl MOD04_021D8D60 - ldr r2, _021D97E8 ; =UNK04_02210468 - ldr r1, [r2] - add r1, r1, #0x1000 - str r0, [r1, #4] - ldr r0, [r2] - add r0, r0, #0x1000 - ldr r1, [r0, #4] - cmp r1, #0 - movne r0, #4 - ldmneia sp!, {r4, pc} - ldr r0, [r0, #0x314] - bl MOD04_021DB570 - cmp r0, #0 - movne r0, #4 - ldmneia sp!, {r4, pc} - ldr r0, _021D97F4 ; =OSi_ThreadInfo - ldr r0, [r0, #4] - bl OS_GetThreadPriority - ldr r1, _021D97E8 ; =UNK04_02210468 - ldr r2, [r1] - sub r1, r0, #1 - add r0, r2, #0x1000 - ldr r0, [r0, #0x314] - bl MOD04_021DB4A4 - mov r0, #0 - ldmia sp!, {r4, pc} - .align 2, 0 -_021D97E0: .word UNK04_0220BEB4 -_021D97E4: .word UNK04_0220BFA4 -_021D97E8: .word UNK04_02210468 -_021D97EC: .word UNK04_0221046C -_021D97F0: .word 0x000011CC -_021D97F4: .word OSi_ThreadInfo - arm_func_end MOD04_021D96EC - - arm_func_start MOD04_021D97F8 -MOD04_021D97F8: ; 0x021D97F8 - stmdb sp!, {r4, lr} - ldr r1, _021D9874 ; =UNK04_02210468 - mov r4, r0 - ldr r1, [r1] - cmp r1, #0 - bne _021D981C - mov r1, #0 - mov r2, #0x1c4 - bl MI_CpuFill8 -_021D981C: - ldr r1, _021D9874 ; =UNK04_02210468 - ldr r0, _021D9878 ; =0x00001008 - ldr r2, [r1] - mov r1, r4 - add r0, r2, r0 - mov r2, #0x1c4 - bl MI_CpuCopy8 - ldr r1, [r4] - ldr r0, _021D987C ; =0x00004E20 - cmp r1, r0 - blt _021D9854 - ldr r0, _021D9880 ; =0x00007530 - cmp r1, r0 - blt _021D985C -_021D9854: - ldr r0, _021D9884 ; =0x00005206 - str r0, [r4] -_021D985C: - ldr r1, [r4] - ldr r0, _021D9888 ; =0x00004E84 - cmp r1, r0 - rsbge r0, r1, #0 - strge r0, [r4] - ldmia sp!, {r4, pc} - .align 2, 0 -_021D9874: .word UNK04_02210468 -_021D9878: .word 0x00001008 -_021D987C: .word 0x00004E20 -_021D9880: .word 0x00007530 -_021D9884: .word 0x00005206 -_021D9888: .word 0x00004E84 - arm_func_end MOD04_021D97F8 - - arm_func_start MOD04_021D988C -MOD04_021D988C: ; 0x021D988C - stmdb sp!, {r4, lr} - ldr r0, _021D98D4 ; =UNK04_02210468 - ldr r1, [r0] - cmp r1, #0 - moveq r0, #0x16 - ldmeqia sp!, {r4, pc} - ldr r0, _021D98D8 ; =0x000013D8 - add r0, r1, r0 - bl OS_LockMutex - ldr r1, _021D98D4 ; =UNK04_02210468 - ldr r0, _021D98D8 ; =0x000013D8 - ldr r2, [r1] - add r1, r2, #0x1000 - add r0, r2, r0 - ldr r4, [r1, #4] - bl OS_UnlockMutex - mov r0, r4 - ldmia sp!, {r4, pc} - .align 2, 0 -_021D98D4: .word UNK04_02210468 -_021D98D8: .word 0x000013D8 - arm_func_end MOD04_021D988C - - arm_func_start MOD04_021D98DC -MOD04_021D98DC: ; 0x021D98DC - stmdb sp!, {lr} - sub sp, sp, #4 - ldr r0, _021D9914 ; =UNK04_02210468 - ldr r1, [r0] - add r0, r1, #0x1000 - ldr r0, [r0, #0x384] - cmp r0, #0 - addeq sp, sp, #4 - ldmeqia sp!, {pc} - ldr r0, _021D9918 ; =0x00001318 - add r0, r1, r0 - bl OS_JoinThread - add sp, sp, #4 - ldmfd sp!, {pc} - .align 2, 0 -_021D9914: .word UNK04_02210468 -_021D9918: .word 0x00001318 - arm_func_end MOD04_021D98DC - - arm_func_start MOD04_021D991C -MOD04_021D991C: ; 0x021D991C - stmdb sp!, {r4, lr} - ldr r0, _021D996C ; =UNK04_02210468 - ldr r0, [r0] - cmp r0, #0 - ldmeqia sp!, {r4, pc} - add r1, r0, #0x1000 - ldr r0, [r1, #0x314] - ldr r4, [r1, #0x210] - cmp r0, #0 - beq _021D9948 - bl MOD04_021DAE4C -_021D9948: - ldr r1, _021D996C ; =UNK04_02210468 - ldr r0, _021D9970 ; =UNK04_0220BFC4 - ldr r1, [r1] - mov r2, #0 - blx r4 - ldr r0, _021D996C ; =UNK04_02210468 - mov r1, #0 - str r1, [r0] - ldmia sp!, {r4, pc} - .align 2, 0 -_021D996C: .word UNK04_02210468 -_021D9970: .word UNK04_0220BFC4 - arm_func_end MOD04_021D991C - - arm_func_start MOD04_021D9974 -MOD04_021D9974: ; 0x021D9974 - stmdb sp!, {lr} - sub sp, sp, #4 - ldr r0, _021D9A0C ; =UNK04_02210468 - ldr r1, [r0] - cmp r1, #0 - addeq sp, sp, #4 - ldmeqia sp!, {pc} - ldr r0, _021D9A10 ; =0x000013D8 - add r0, r1, r0 - bl OS_LockMutex - ldr r2, _021D9A0C ; =UNK04_02210468 - mov r3, #1 - ldr r0, [r2] - ldr r1, _021D9A10 ; =0x000013D8 - add r0, r0, #0x1000 - str r3, [r0, #0x3f0] - ldr r0, [r2] - add r0, r0, r1 - bl OS_UnlockMutex - ldr r0, _021D9A0C ; =UNK04_02210468 - ldr r0, [r0] - add r0, r0, #0x1000 - ldr r0, [r0, #0x314] - cmp r0, #0 - beq _021D99DC - bl MOD04_021DB440 -_021D99DC: - ldr r0, _021D9A0C ; =UNK04_02210468 - ldr r1, [r0] - add r0, r1, #0x1000 - ldr r0, [r0, #0x384] - cmp r0, #0 - addeq sp, sp, #4 - ldmeqia sp!, {pc} - ldr r0, _021D9A14 ; =0x00001318 - add r0, r1, r0 - bl OS_JoinThread - add sp, sp, #4 - ldmfd sp!, {pc} - .align 2, 0 -_021D9A0C: .word UNK04_02210468 -_021D9A10: .word 0x000013D8 -_021D9A14: .word 0x00001318 - arm_func_end MOD04_021D9974 - - arm_func_start MOD04_021D9A18 -MOD04_021D9A18: ; 0x021D9A18 - stmdb sp!, {lr} - sub sp, sp, #0xc - ldr r1, _021D9ABC ; =UNK04_02210468 - ldr r0, _021D9AC0 ; =0x000013D8 - ldr r1, [r1] - add r0, r1, r0 - bl OS_InitMutex - ldr r1, _021D9ABC ; =UNK04_02210468 - mov r2, #0 - ldr r0, [r1] - add r0, r0, #0x1000 - str r2, [r0, #0x3f0] - ldr r1, [r1] - add r0, r1, #0x1000 - ldr r0, [r0, #0x384] - cmp r0, #0 - beq _021D9A74 - ldr r0, _021D9AC4 ; =0x00001318 - add r0, r1, r0 - bl OS_IsThreadTerminated - cmp r0, #0 - addeq sp, sp, #0xc - ldmeqia sp!, {pc} -_021D9A74: - ldr r2, _021D9ABC ; =UNK04_02210468 - ldr r0, _021D9AC4 ; =0x00001318 - ldr lr, [r2] - mov r3, #0x1000 - ldr r1, _021D9AC8 ; =MOD04_021D9418 - str r3, [sp] - mov ip, #0x10 - add r0, lr, r0 - add r3, lr, #0x1000 - str ip, [sp, #4] - bl OS_CreateThread - ldr r1, _021D9ABC ; =UNK04_02210468 - ldr r0, _021D9AC4 ; =0x00001318 - ldr r1, [r1] - add r0, r1, r0 - bl OS_WakeupThreadDirect - add sp, sp, #0xc - ldmfd sp!, {pc} - .align 2, 0 -_021D9ABC: .word UNK04_02210468 -_021D9AC0: .word 0x000013D8 -_021D9AC4: .word 0x00001318 -_021D9AC8: .word MOD04_021D9418 - arm_func_end MOD04_021D9A18 - - arm_func_start MOD04_021D9ACC -MOD04_021D9ACC: ; 0x021D9ACC - stmdb sp!, {r4, r5, lr} - sub sp, sp, #4 - ldr r2, _021D9BFC ; =UNK04_02210468 - mov r5, r0 - ldr r0, [r2] - mov r4, r1 - cmp r0, #0 - addne sp, sp, #4 - ldr r2, [r5, #0x40] - movne r0, #2 - ldmneia sp!, {r4, r5, pc} - ldr r0, _021D9C00 ; =UNK04_0220BFD4 - ldr r1, _021D9C04 ; =0x000013F4 - blx r2 - ldr r1, _021D9BFC ; =UNK04_02210468 - cmp r0, #0 - str r0, [r1] - addeq sp, sp, #4 - moveq r0, #2 - ldmeqia sp!, {r4, r5, pc} - ldr r2, _021D9C04 ; =0x000013F4 - mov r1, #0 - bl MI_CpuFill8 - ldr r1, _021D9BFC ; =UNK04_02210468 - ldr r2, _021D9C08 ; =0x00001008 - ldr r0, [r1] - ldr r3, _021D9C0C ; =UNK04_02210464 - add r0, r0, #0x1000 - str r4, [r0, #0x314] - ldr r0, [r1] - mov r1, #0 - add r0, r0, r2 - mov r2, #0x1c4 - str r1, [r3] - bl MI_CpuFill8 - ldr r2, _021D9BFC ; =UNK04_02210468 - ldr r3, _021D9C10 ; =0x00004E84 - ldr r0, [r2] - ldr r1, _021D9C14 ; =0x000011CC - add r0, r0, #0x1000 - str r3, [r0, #8] - ldr lr, [r2] - mov r4, #4 - add ip, lr, r1 -_021D9B7C: - ldmia r5!, {r0, r1, r2, r3} - stmia ip!, {r0, r1, r2, r3} - subs r4, r4, #1 - bne _021D9B7C - ldmia r5, {r0, r1} - stmia ip, {r0, r1} - add r0, lr, #0x1100 - mov r2, #0 - strh r2, [r0, #0xfe] - ldr r1, _021D9BFC ; =UNK04_02210468 - mov r0, #1 - ldr r1, [r1] - add r1, r1, #0x1000 - strb r2, [r1, #0x20b] - bl MOD04_021D96EC - ldr r2, _021D9BFC ; =UNK04_02210468 - ldr r1, [r2] - add r1, r1, #0x1000 - str r0, [r1, #4] - ldr r0, [r2] - add r0, r0, #0x1000 - ldr r0, [r0, #4] - cmp r0, #0 - addne sp, sp, #4 - ldmneia sp!, {r4, r5, pc} - ldr r0, _021D9C18 ; =UNK04_02210460 - mov r1, #0 - str r1, [r0] - bl MOD04_021D9A18 - mov r0, #0 - add sp, sp, #4 - ldmia sp!, {r4, r5, pc} - .align 2, 0 -_021D9BFC: .word UNK04_02210468 -_021D9C00: .word UNK04_0220BFD4 -_021D9C04: .word 0x000013F4 -_021D9C08: .word 0x00001008 -_021D9C0C: .word UNK04_02210464 -_021D9C10: .word 0x00004E84 -_021D9C14: .word 0x000011CC -_021D9C18: .word UNK04_02210460 - arm_func_end MOD04_021D9ACC - - arm_func_start MOD04_021D9C1C -MOD04_021D9C1C: ; 0x021D9C1C - ldr r1, _021D9C28 ; =UNK04_0220BEB4 - str r0, [r1] - bx lr - .align 2, 0 -_021D9C28: .word UNK04_0220BEB4 - arm_func_end MOD04_021D9C1C - - arm_func_start MOD04_021D9C2C -MOD04_021D9C2C: ; 0x021D9C2C - stmdb sp!, {r4, r5, r6, lr} - sub sp, sp, #0x28 - mov r4, r2 - mov r6, r0 - mov r5, r1 - mov ip, #2 - ldr r2, _021D9F30 ; =UNK04_0220BFE4 - add r0, sp, #4 - mov r1, #0x21 - mov r3, #1 - str ip, [sp] - bl OS_SNPrintf - add r0, sp, #4 - bl strlen - mov r3, r0 - ldr r1, _021D9F34 ; =UNK04_0220BFF0 - mov r0, r6 - add r2, sp, #4 - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - mov r0, r5 - bl strlen - mov r3, r0 - ldr r1, _021D9F38 ; =UNK04_0220BFF8 - mov r0, r6 - mov r2, r5 - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0xe - bl strlen - mov r3, r0 - ldr r1, _021D9F3C ; =UNK04_0220C000 - mov r0, r6 - add r2, r5, #0xe - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0x41 - bl strlen - mov r3, r0 - ldr r1, _021D9F40 ; =UNK04_0220C008 - mov r0, r6 - add r2, r5, #0x41 - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0x6f - bl strlen - mov r3, r0 - ldr r1, _021D9F44 ; =UNK04_0220C010 - mov r0, r6 - add r2, r5, #0x6f - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0x15 - bl strlen - mov r3, r0 - ldr r1, _021D9F48 ; =UNK04_0220C018 - mov r0, r6 - add r2, r5, #0x15 - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0x1a - bl strlen - mov r3, r0 - ldr r1, _021D9F4C ; =UNK04_0220C020 - mov r0, r6 - add r2, r5, #0x1a - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0x1d - bl strlen - mov r3, r0 - ldr r1, _021D9F50 ; =UNK04_0220C028 - mov r0, r6 - add r2, r5, #0x1d - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0x1f - bl strlen - mov r3, r0 - ldr r1, _021D9F54 ; =UNK04_0220C030 - mov r0, r6 - add r2, r5, #0x1f - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0x2c - bl strlen - mov r3, r0 - ldr r1, _021D9F58 ; =UNK04_0220C038 - mov r0, r6 - add r2, r5, #0x2c - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0x2f - bl strlen - mov r3, r0 - ldr r1, _021D9F5C ; =UNK04_0220C040 - mov r0, r6 - add r2, r5, #0x2f - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0x34 - bl strlen - mov r3, r0 - ldr r1, _021D9F60 ; =UNK04_0220C048 - mov r0, r6 - add r2, r5, #0x34 - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - add r0, r5, #0x7e - bl wcslen - mov r3, r0 - ldr r1, _021D9F64 ; =UNK04_0220C050 - mov r0, r6 - add r2, r5, #0x7e - mov r3, r3, lsl #1 - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - cmp r4, #1 - bne _021D9ED0 - add r0, r5, #0x4e - bl strlen - mov r3, r0 - ldr r1, _021D9F68 ; =UNK04_0220C058 - mov r0, r6 - add r2, r5, #0x4e - bl MOD04_021DAB68 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} -_021D9ED0: - ldr r2, _021D9F6C ; =UNK04_0220C060 - mov ip, #2 - add r0, sp, #4 - mov r1, #0x21 - mov r3, #1 - str ip, [sp] - bl OS_SNPrintf - ldr r1, _021D9F70 ; =UNK04_0220C078 - add r2, sp, #4 - mov r0, r6 - bl MOD04_021DAC98 - cmp r0, #0 - addne sp, sp, #0x28 - movne r0, #0 - ldmneia sp!, {r4, r5, r6, pc} - ldr r1, _021D9F74 ; =UNK04_0220C084 - mov r0, r6 - add r2, r5, #0x15 - bl MOD04_021DAC98 - cmp r0, #0 - moveq r0, #1 - movne r0, #0 - add sp, sp, #0x28 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 -_021D9F30: .word UNK04_0220BFE4 -_021D9F34: .word UNK04_0220BFF0 -_021D9F38: .word UNK04_0220BFF8 -_021D9F3C: .word UNK04_0220C000 -_021D9F40: .word UNK04_0220C008 -_021D9F44: .word UNK04_0220C010 -_021D9F48: .word UNK04_0220C018 -_021D9F4C: .word UNK04_0220C020 -_021D9F50: .word UNK04_0220C028 -_021D9F54: .word UNK04_0220C030 -_021D9F58: .word UNK04_0220C038 -_021D9F5C: .word UNK04_0220C040 -_021D9F60: .word UNK04_0220C048 -_021D9F64: .word UNK04_0220C050 -_021D9F68: .word UNK04_0220C058 -_021D9F6C: .word UNK04_0220C060 -_021D9F70: .word UNK04_0220C078 -_021D9F74: .word UNK04_0220C084 - arm_func_end MOD04_021D9C2C - - arm_func_start MOD04_021D9F78 -MOD04_021D9F78: ; 0x021D9F78 - stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} - sub sp, sp, #0x8c - mov r6, r1 - mov r1, #0 - mov r2, #0x94 - mov r4, r0 - bl MI_CpuFill8 - ldr r3, [r6] - ldr r5, [r6, #4] - mov r0, #0 - cmp r5, r0 - cmpeq r3, r0 - beq _021D9FC4 - ldr r2, _021DA218 ; =UNK04_0220C094 - mov r0, r4 - mov r1, #0xe - str r5, [sp] - bl OS_SNPrintf - b _021D9FE0 -_021D9FC4: - ldr r3, [r6, #8] - ldr r5, [r6, #0xc] - ldr r2, _021DA218 ; =UNK04_0220C094 - mov r0, r4 - mov r1, #0xe - str r5, [sp] - bl OS_SNPrintf -_021D9FE0: - ldrh r3, [r6, #0x10] - ldr r2, _021DA21C ; =UNK04_0220C09C - add r0, r4, #0xe - mov r1, #7 - bl OS_SNPrintf - ldr r0, _021DA220 ; =0x027FFE0C - ldrb r0, [r0] - cmp r0, #0 - bne _021DA008 - bl OS_Terminate -_021DA008: - ldr r0, _021DA220 ; =0x027FFE0C - add r1, r4, #0x15 - mov r2, #4 - bl MI_CpuCopy8 - ldr r0, _021DA224 ; =0x027FFE10 - ldrb r0, [r0] - cmp r0, #0 - bne _021DA02C - bl OS_Terminate -_021DA02C: - ldr r0, _021DA224 ; =0x027FFE10 - add r1, r4, #0x1a - mov r2, #2 - bl MI_CpuCopy8 - mov r1, #0x30 - add r0, sp, #0x16 - strb r1, [r4, #0x1d] - bl OS_GetMacAddress - ldr r5, _021DA228 ; =UNK04_0220C0A4 - add r7, sp, #0x16 - add r6, r4, #0x1f - mov r8, #0 -_021DA05C: - ldrb r2, [r7] - mov r0, r6 - mov r1, r5 - bl OS_SPrintf - add r8, r8, #1 - cmp r8, #6 - add r7, r7, #1 - add r6, r6, #2 - blt _021DA05C - add r0, sp, #0x38 - bl OS_GetOwnerInfo - ldrb r0, [sp, #0x38] - ldr r2, _021DA228 ; =UNK04_0220C0A4 - mov r1, #3 - cmp r0, #6 - movhi r0, #1 - strhib r0, [sp, #0x38] - ldrb r3, [sp, #0x38] - add r0, r4, #0x2c - bl OS_SNPrintf - add r0, sp, #0x3c - add r1, r4, #0x7e - mov r2, #0x14 - bl MI_CpuCopy8 - ldrb r1, [sp, #0x3b] - ldr r2, _021DA22C ; =UNK04_0220C0AC - add r0, r4, #0x2f - str r1, [sp] - ldrb r3, [sp, #0x3a] - mov r1, #5 - bl OS_SNPrintf - add r0, sp, #0x1c - bl RTC_GetDate - cmp r0, #0 - bne _021DA0F8 - add r0, sp, #0x2c - bl RTC_GetTime - cmp r0, #0 - beq _021DA104 -_021DA0F8: - add sp, sp, #0x8c - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} -_021DA104: - ldr r0, [sp, #0x20] - ldr r2, _021DA230 ; =UNK04_0220C0B8 - str r0, [sp] - ldr r1, [sp, #0x24] - add r0, r4, #0x34 - str r1, [sp, #4] - ldr r3, [sp, #0x2c] - mov r1, #0xd - str r3, [sp, #8] - ldr r3, [sp, #0x30] - str r3, [sp, #0xc] - ldr r3, [sp, #0x34] - str r3, [sp, #0x10] - ldr r3, [sp, #0x1c] - bl OS_SNPrintf - bl OS_DisableInterrupts - mov sb, r0 - bl WCM_GetApMacAddress - mov r8, r0 - mov r1, #6 - bl DC_InvalidateRange - cmp r8, #0 - bne _021DA174 - mov r0, sb - bl OS_RestoreInterrupts - add sp, sp, #0x8c - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} -_021DA174: - add r7, r4, #0x41 - mov r6, #0 - ldr r5, _021DA228 ; =UNK04_0220C0A4 -_021DA180: - ldrb r2, [r8, r6] - mov r0, r7 - mov r1, r5 - bl OS_SPrintf - add r6, r6, #1 - cmp r6, #6 - add r7, r7, #2 - blt _021DA180 - bl MOD04_021EBAB8 - mov r3, r0 - ldr r2, _021DA234 ; =UNK04_0220C0D4 - add r0, r4, #0x6f - mov r1, #0xe - bl OS_SNPrintf - add r0, sp, #0x14 - bl WCM_GetApEssid - mov r5, r0 - mov r1, #0x20 - bl DC_InvalidateRange - cmp r5, #0 - bne _021DA1E8 - mov r0, sb - bl OS_RestoreInterrupts - add sp, sp, #0x8c - mov r0, #0 - ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} -_021DA1E8: - mov r0, r5 - add r1, r4, #0x72 - bl MOD04_021EE5F4 - mov r0, r5 - add r1, r4, #0x4e - mov r2, #0x20 - bl MI_CpuCopy8 - mov r0, sb - bl OS_RestoreInterrupts - mov r0, #1 - add sp, sp, #0x8c - ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} - .align 2, 0 -_021DA218: .word UNK04_0220C094 -_021DA21C: .word UNK04_0220C09C -_021DA220: .word 0x027FFE0C -_021DA224: .word 0x027FFE10 -_021DA228: .word UNK04_0220C0A4 -_021DA22C: .word UNK04_0220C0AC -_021DA230: .word UNK04_0220C0B8 -_021DA234: .word UNK04_0220C0D4 - arm_func_end MOD04_021D9F78 - - arm_func_start MOD04_021DA238 -MOD04_021DA238: ; 0x021DA238 - stmdb sp!, {r4, lr} - sub sp, sp, #0x18 - mov r4, r0 - add r0, sp, #0 - bl DWCi_BM_GetWiFiInfo - add r1, sp, #0 - mov r0, r4 - bl MOD04_021D9F78 - add sp, sp, #0x18 - ldmia sp!, {r4, pc} - arm_func_end MOD04_021DA238 - arm_func_start MOD04_021DA260 MOD04_021DA260: ; 0x021DA260 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} @@ -60168,197 +58664,6 @@ UNK04_0220BE70: ; 0x0220BE70 .byte 0x0A, 0x00, 0x00, 0x00 .section .data - .global UNK_0220BEB4 -UNK04_0220BEB4: ; 0x0220BEB4 - .word UNK04_0220BED0 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x4E, 0x00, 0x00 - - .global UNK04_0220BED0 -UNK04_0220BED0: ; 0x0220BED0 - .asciz "https://nas.test.nintendowifi.net/ac" - - .balign 4, 0 - .global UNK_0220BEF8 -UNK04_0220BEF8: ; 0x0220BEF8 - .byte 0x61, 0x63, 0x63, 0x74, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x00 - - .global UNK_0220BF04 -UNK04_0220BF04: ; 0x0220BF04 - .byte 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00 - - .global UNK_0220BF0C -UNK04_0220BF0C: ; 0x0220BF0C - .byte 0x6C, 0x6F, 0x67, 0x69, 0x6E, 0x00, 0x00, 0x00 - - .global UNK_0220BF14 -UNK04_0220BF14: ; 0x0220BF14 - .byte 0x67, 0x73, 0x62, 0x72, 0x63, 0x64, 0x00, 0x00 - - .global UNK_0220BF1C -UNK04_0220BF1C: ; 0x0220BF1C - .asciz "Y" - - .balign 4, 0 - .global UNK_0220BF20 -UNK04_0220BF20: ; 0x0220BF20 - .byte 0x69, 0x73, 0x77, 0x66, 0x63, 0x00, 0x00, 0x00 - - .global UNK_0220BF28 -UNK04_0220BF28: ; 0x0220BF28 - .byte 0x69, 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x6E, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220BF34 -UNK04_0220BF34: ; 0x0220BF34 - .byte 0x44, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220BF3C -UNK04_0220BF3C: ; 0x0220BF3C - .byte 0x68, 0x74, 0x74, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x00 - - .global UNK_0220BF48 -UNK04_0220BF48: ; 0x0220BF48 - .byte 0x72, 0x65, 0x74, 0x75, 0x72, 0x6E, 0x63, 0x64, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220BF54 -UNK04_0220BF54: ; 0x0220BF54 - .byte 0x74, 0x6F, 0x6B, 0x65, 0x6E, 0x00, 0x00, 0x00 - - .global UNK_0220BF5C -UNK04_0220BF5C: ; 0x0220BF5C - .byte 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x6F, 0x72, 0x00 - - .global UNK_0220BF64 -UNK04_0220BF64: ; 0x0220BF64 - .byte 0x63, 0x68, 0x61, 0x6C, 0x6C, 0x65, 0x6E, 0x67, 0x65, 0x00, 0x00, 0x00 - - .global UNK_0220BF70 -UNK04_0220BF70: ; 0x0220BF70 - .byte 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220BF7C -UNK04_0220BF7C: ; 0x0220BF7C - .byte 0x53, 0x65, 0x74, 0x2D, 0x43, 0x6F, 0x6F, 0x6B, 0x69, 0x65, 0x00, 0x00 - - .global UNK_0220BF88 -UNK04_0220BF88: ; 0x0220BF88 - .byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x62, 0x6D, 0x77, 0x6F, 0x72, 0x6B, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220BF98 -UNK04_0220BF98: ; 0x0220BF98 - .byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x62, 0x6D, 0x77, 0x6F, 0x72, 0x6B, 0x00 - - .balign 4, 0 - .global UNK_0220BFA4 -UNK04_0220BFA4: ; 0x0220BFA4 - .asciz "https://nas.nintendowifi.net/ac" - - .balign 4, 0 - .global UNK_0220BFC4 -UNK04_0220BFC4: ; 0x0220BFC4 - .byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x44, 0x57, 0x43, 0x61, 0x75, 0x74, 0x68, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220BFD4 -UNK04_0220BFD4: ; 0x0220BFD4 - .byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x44, 0x57, 0x43, 0x61, 0x75, 0x74, 0x68, 0x00, 0x00, 0x00 - - .global UNK_0220BFE4 -UNK04_0220BFE4: ; 0x0220BFE4 - .byte 0x25, 0x30, 0x33, 0x64, 0x25, 0x30, 0x33, 0x64, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220BFF0 -UNK04_0220BFF0: ; 0x0220BFF0 - .byte 0x73, 0x64, 0x6B, 0x76, 0x65, 0x72, 0x00, 0x00 - - .global UNK_0220BFF8 -UNK04_0220BFF8: ; 0x0220BFF8 - .byte 0x75, 0x73, 0x65, 0x72, 0x69, 0x64, 0x00, 0x00 - - .global UNK_0220C000 -UNK04_0220C000: ; 0x0220C000 - .byte 0x70, 0x61, 0x73, 0x73, 0x77, 0x64, 0x00, 0x00 - - .global UNK_0220C008 -UNK04_0220C008: ; 0x0220C008 - .byte 0x62, 0x73, 0x73, 0x69, 0x64, 0x00, 0x00, 0x00 - - .global UNK_0220C010 -UNK04_0220C010: ; 0x0220C010 - .byte 0x61, 0x70, 0x69, 0x6E, 0x66, 0x6F, 0x00, 0x00 - - .global UNK_0220C018 -UNK04_0220C018: ; 0x0220C018 - .byte 0x67, 0x61, 0x6D, 0x65, 0x63, 0x64, 0x00, 0x00 - - .global UNK_0220C020 -UNK04_0220C020: ; 0x0220C020 - .byte 0x6D, 0x61, 0x6B, 0x65, 0x72, 0x63, 0x64, 0x00 - - .global UNK_0220C028 -UNK04_0220C028: ; 0x0220C028 - .byte 0x75, 0x6E, 0x69, 0x74, 0x63, 0x64, 0x00, 0x00 - - .global UNK_0220C030 -UNK04_0220C030: ; 0x0220C030 - .byte 0x6D, 0x61, 0x63, 0x61, 0x64, 0x72, 0x00, 0x00 - - .global UNK_0220C038 -UNK04_0220C038: ; 0x0220C038 - .byte 0x6C, 0x61, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220C040 -UNK04_0220C040: ; 0x0220C040 - .byte 0x62, 0x69, 0x72, 0x74, 0x68, 0x00, 0x00, 0x00 - - .global UNK_0220C048 -UNK04_0220C048: ; 0x0220C048 - .byte 0x64, 0x65, 0x76, 0x74, 0x69, 0x6D, 0x65, 0x00 - - .global UNK_0220C050 -UNK04_0220C050: ; 0x0220C050 - .byte 0x64, 0x65, 0x76, 0x6E, 0x61, 0x6D, 0x65, 0x00 - - .global UNK_0220C058 -UNK04_0220C058: ; 0x0220C058 - .byte 0x73, 0x73, 0x69, 0x64, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220C060 -UNK04_0220C060: ; 0x0220C060 - .byte 0x4E, 0x69, 0x74, 0x72, 0x6F, 0x20, 0x57, 0x69, 0x46, 0x69, 0x20, 0x53, 0x44, 0x4B, 0x2F, 0x25 - .byte 0x64, 0x2E, 0x25, 0x64, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220C078 -UNK04_0220C078: ; 0x0220C078 - .byte 0x55, 0x73, 0x65, 0x72, 0x2D, 0x41, 0x67, 0x65, 0x6E, 0x74, 0x00, 0x00 - - .global UNK_0220C084 -UNK04_0220C084: ; 0x0220C084 - .byte 0x48, 0x54, 0x54, 0x50, 0x5F, 0x58, 0x5F, 0x47, 0x41, 0x4D, 0x45, 0x43, 0x44, 0x00, 0x00, 0x00 - - .global UNK_0220C094 -UNK04_0220C094: ; 0x0220C094 - .byte 0x25, 0x30, 0x31, 0x33, 0x6C, 0x6C, 0x75, 0x00 - - .global UNK_0220C09C -UNK04_0220C09C: ; 0x0220C09C - .byte 0x25, 0x30, 0x33, 0x75, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220C0A4 -UNK04_0220C0A4: ; 0x0220C0A4 - .byte 0x25, 0x30, 0x32, 0x78, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220C0AC -UNK04_0220C0AC: ; 0x0220C0AC - .byte 0x25, 0x30, 0x32, 0x78, 0x25, 0x30, 0x32, 0x78, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220C0B8 -UNK04_0220C0B8: ; 0x0220C0B8 - .byte 0x25, 0x30, 0x32, 0x64, 0x25, 0x30, 0x32, 0x64, 0x25, 0x30, 0x32, 0x64, 0x25, 0x30, 0x32, 0x64 - .byte 0x25, 0x30, 0x32, 0x64, 0x25, 0x30, 0x32, 0x64, 0x00, 0x00, 0x00, 0x00 - - .global UNK_0220C0D4 -UNK04_0220C0D4: ; 0x0220C0D4 - .byte 0x25, 0x30, 0x32, 0x64, 0x3A, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2D, 0x30, 0x30, 0x00 .global UNK_0220C0E4 UNK04_0220C0E4: ; 0x0220C0E4 @@ -63822,38 +62127,6 @@ UNK04_0220FBA4: ; 0x0220FBA4 .section .bss - .global UNK04_02210460 -UNK04_02210460: ; 0x02210460 - .space 0x4 - - .global UNK04_02210464 -UNK04_02210464: ; 0x02210464 - .space 0x4 - - .global UNK04_02210468 -UNK04_02210468: ; 0x02210468 - .space 0x4 - - .global UNK04_0221046C -UNK04_0221046C: ; 0x0221046C - .space 0x14 - - .global UNK04_02210480 -UNK04_02210480: ; 0x02210480 - .space 0x4 - - .global UNK04_02210484 -UNK04_02210484: ; 0x02210484 - .space 0x4 - - .global UNK04_02210488 -UNK04_02210488: ; 0x02210488 - .space 0x4 - - .global UNK04_0221048C -UNK04_0221048C: ; 0x0221048C - .space 0x4 - .global UNK04_02210490 UNK04_02210490: ; 0x02210490 .space 0x4 |