summaryrefslogtreecommitdiff
path: root/arm9/modules/04/asm/arm_04.s
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2021-08-07 23:39:10 +0100
committerred031000 <rubenru09@aol.com>2021-08-16 14:26:00 +0100
commit1de157cf027c604a35537ad457bf476eb3068c7c (patch)
tree57be15dd37dd876626d6d575d65007bcf21afba8 /arm9/modules/04/asm/arm_04.s
parent168950d7e03129c23ddce331593823d1d48411cf (diff)
start to split mod04
Diffstat (limited to 'arm9/modules/04/asm/arm_04.s')
-rw-r--r--arm9/modules/04/asm/arm_04.s1727
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